<?php
/**
 *   OPENSHOP 配送方式- EMS 国内邮政特快专递 插件
 *
 *   @link        http://baison.com.cn
 *   @copyright   Baison, Inc.
 *   @package     OpenShop
 *   @version     $Id: alipay.php,v 1.0.3 20011/04/20 14:12: modified $
 *   @author      Roban Lee <RobanLee@gmail.com>
 */

if (!defined('RUN_FROM_INDEX')){
    die('Access Denied');
}

/* 模块的基本信息 */
if (isset($set_modules) && $set_modules == TRUE)
{
    $i = (isset($modules)) ? count($modules) : 0;

    /* 配送方式插件的代码必须和文件名保持一致 */
    $modules[$i]['code']    = basename(__FILE__, '.php');
	$modules[$i]['pingyin']  = 'ems';

    $modules[$i]['version'] = '1.0.0';

    /* 配送方式的描述 */
    $modules[$i]['desc']    = 	'7 - 10 business days';
    $modules[$i]['name']	=	'Free Shipping';

    /* 配送方式是否支持货到付款 */
    $modules[$i]['cod']     = false;

    /* 货到付款是否需要独立打印结算单 */
    $modules[$i]['is_receive_print']     = true;

    /* 插件的作者 */
    $modules[$i]['author']  = 'OpenShop TEAM';

    /* 插件作者的官方网站 */
    $modules[$i]['website'] = 'http://www.baison.com.cn';

    /* 配送接口需要的参数 */
    $modules[$i]['configure'] = array(
                                    array('name' => 'item_fee',     'value'=>0, 'label'=>'单件商品配送的价格'),
                                    array('name' => 'base_fee',     'value'=>20, 'label'=>'配送费用'),
                                    array('name' => 'step_fee',     'value'=>15, 'label'=>'续重每500克或其零数的费用'),
                                );

    return;
}

/**
 * 邮政快递包裹费用计算方式

 * ====================================================================================
 * 500g及500g以内                             20元

 * -------------------------------------------------------------------------------------
 * 续重每500克或其零数                        6元/9元/15元(按分区不同收费不同，具体分区方式，请寄件人拨打电话或到当地邮局营业窗口咨询，客服电话11185。)
 * -------------------------------------------------------------------------------------
 *
 */
class ems
{
    /*------------------------------------------------------ */
    //-- PUBLIC ATTRIBUTEs
    /*------------------------------------------------------ */

    /**
     * 配置信息
     */
    var $configure;

    /*------------------------------------------------------ */
    //-- PUBLIC METHODs
    /*------------------------------------------------------ */

    /**
     * 构造函数
     *
     * @param: $configure[array]    配送方式的参数的数组
     *
     * @return null
     */
    function ems($cfg=array())
    {
    	if (is_array($cfg) && count($cfg) > 0) {
	        foreach ($cfg AS $key=>$val)
	        {
	            $this->configure[$val['name']] = $val['value'];
	        }
    	}
    }

    /**
     * 计算订单的配送费用的函数
     *
     * @param   float   $goods_weight   商品重量
     * @param   float   $goods_amount   商品金额
     * @param   float   $goods_number   商品件数
     * @return  decimal
     */
    function calculate($goods_weight, $goods_amount, $goods_number)
    {
        if ($this->configure['free_money'] > 0 && $goods_amount >= $this->configure['free_money'])
        {
            return 0;
        }
        else
        {
            $fee = $this->configure['base_fee'];
//            $this->configure['fee_compute_mode'] = !empty($this->configure['fee_compute_mode']) ? $this->configure['fee_compute_mode'] : 'by_weight';
//
//            if ($this->configure['fee_compute_mode'] == 'by_number')
//            {
//                $fee = $goods_number * $this->configure['item_fee'];
//            }
//            else
//            {
//                if ($goods_weight > 0.5)
//                {
//                    $fee += (ceil(($goods_weight - 0.5) / 0.5)) * $this->configure['step_fee'];
//                }
//            }
            return $fee;
        }
    }

    /**
     * 查询发货状态

     *
     * @access  public
     * @param   string  $invoice_sn     发货单号
     * @return  string
     */
    function query($invoice_sn)
    {
        $str = '<form style="margin:0px" method="post" '.
            'action="http://www.ems.com.cn/qcgzOutQueryAction.do" name="queryForm_' .$invoice_sn. '" target="_blank">'.
            '<input type="hidden" name="mailNum" value="' .$invoice_sn. '" />'.
            '<a href="javascript:document.forms[\'queryForm_' .$invoice_sn. '\'].submit();">' .$invoice_sn. '</a>'.
            '<input type="hidden" name="reqCode" value="browseBASE" />'.
            '<input type="hidden" name="checknum" value="0568792906411" />'.
            '</form>';

        return $str;
    }
}

?>